nginx e thin

marcus / 30.Mar.2008

Update: Esse blog funciona com EnterpriseRails + Passenger com Apache.

Apenas uma pequena nota:

Apartir de agora (momento deste post! Duh!) este blog passa a ser baseado em thin (1 instância) se comunicando via unix sockets com o nginx.

O litespeed estava indo bem, mas a performance rails dele não impressionava (e eu também não me esforcei para melhorá-la), resolvi trocá-lo por um tempo. Pelo menos ele já está configurado aqui, fácil de fazer benchmarks comparando. E como pretendo usar a combinação atual em futuros projetos, nada melhor que usar esse blog como laboratório.

Algo bacana do nginx é que o php (ainda tenho alguns sites em TYPO3 ) roda bem nele via fastcgi.

Prometo publicar os passos e configurações que utilizei aqui.

Desafio de sábado à tarde sem onda e sol:

Arrumar a geração de thumbnails de imagens do attachment-fu

Semana passada instalei uma pequena aplicação que desenvolvi para a imobiliária de um amigo ( EAB Itamambuca ) na Te Hospedo. Essa aplicação usa o attachment-fu para gerar thumbnail das fotos dos imóveis. E parou de funcionar após a instalação.

Logo imaginei que alguma gem estava faltando. Acessei o servidor via SSH e vi que apenas o rmagick estava instalado. Mas estava funcionando muito bem:

eabitama@eabitamambuca.com [~/eab/current]# script/console production
Loading production environment (Rails 2.0.2)
>> require 'image_science'
MissingSourceFile: no such file to load -- image_science

>> require 'mini_magick'
MissingSourceFile: no such file to load -- mini_magick

>> require 'RMagick'
LoadError: /usr/lib/ruby/site_ruby/1.8/x86_64-linux/RMagick2.so: undefined symbol: SketchImage - /usr/lib/ruby/site_ruby/1.8/x86_64-linux/RMagick2.so

>>  quit

Solução rápida: Instalar o mini_magick localmente

1. Passo: criar o arquivo .gemrc no home do seu usuário conforme modelo abaixo, onde eabitama é o seu usuário.

eabitama@eabitamambuca.com [~]# cat .gemrc 
gemhome: /home/eabitama/ruby/gems
gempath:
- /home/eabitama/ruby/gems
- /usr/lib/ruby/gems/1.8

1.1 – Criar a pasta para o armazenar os gems

Na tehospedo já tem uma pasta para os gems locais: ~/ruby/gems. Caso você queira criar na mesma estrutura:

mkdir -p ruby/gems

2. Instalar o gem:

gem install mini_magick

3. Configurar a nova pasta de gems no environment da sua aplição:

Adicione a seguinte linha no seu production.rb: (substituia eabitama pelo seu usuário)

ENV['GEM_PATH'] = '/home/eabitama/ruby/gems:/usr/lib/ruby/gems/1.8'

4. Reinicie o fastcgi

killall -HUP dispatch.fcgi

5. Pronto.

Dica de Sysadmin para quem tem VPS

marcus / 05.Feb.2008

VPS são uma mão na roda para que desenvolver e hospedar aplicação web, pois te oferecem o controle do ambiente como de um servidor real, com o preço de hospedagem compartilhada.

E dica que quero passar é relacionada a segurança da sua VPS, que normalmente fica “abandonada”.

No Ubuntu/Debian, existem 2 pacotes muito legais: logwatch e denyhosts.

O logwatch gera um email diário com uma visão geral de tudo que aconteceu com o seu servidor, apartir da análise dos principais logs. Alguns items desse email:

  • pacotes .deb instalados
  • processos agendados no cron que foram executados
  • quantidade de logins efetuados
  • email processados / bloqueados
  • espaço em disco utilizado
  • entre outras informações

O denyhosts é um utilitário que monitora os acessos inválidos via ssh ao servidor, e adiciona no /etc/hosts.deny o IP de quem errar por mais de 10 vezes seguida sua senha ou tentar 5 vezes acessar com usuário desconhecido.

Instalação

apt-get install logwatch denyhosts

Caso você ainda não tenha instalado um MTA, recomendo o postfix:

apt-get install postfix

E configure o email root@ para ser redirecionado para o seu email.

echo root: seu_email@provedor.com >> /etc/aliases

newaliases

Dica: após instalar o denyhosts, não faça o logout do seu servidor, espere o primeiro email ser enviado, por seu IP pode ser bloqueado caso você errou algumas vezes sua senha no passado. Caso seu ip seja incluído, adicione ele no arquivo /etc/hosts.allow

ALL: 200.200.200.200 # caso seu ip seja 200.200.200.200

Você vai ficar impressionado com a quantidade de ataques que seu servidor recebe. Instalei na minha vps novinha, e são pelo menos 2 IPs bloqueados por dia.

Previous Entries

Ano Novo, Hospedagem Nova

marcus / 18.Jan.2008

Feliz Natal

marcus / 24.Dec.2007

rails plugin: bundle-fu

marcus / 25.Oct.2007

back to top

micro theme by seaofclouds, and powered with Mephisto

Clicky Web Analytics